implement more of N4258 - Cleaning up noexcept in the standard library. Specifically add new noexcept stuff to vector and string's move-assignment operations git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@245330 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/memory b/include/memory index df35a07..790a161 100644 --- a/include/memory +++ b/include/memory
@@ -5574,6 +5574,15 @@ _LIBCPP_INLINE_VISIBILITY void __swap_allocator(_Alloc &, _Alloc &, false_type) _NOEXCEPT {} +template <typename _Alloc, typename _Traits=allocator_traits<_Alloc>> +struct __noexcept_move_assign_container : public integral_constant<bool, + _Traits::propagate_on_container_move_assignment::value +#if _LIBCPP_STD_VER > 14 + || _Traits::is_always_equal::value +#else + && is_nothrow_move_assignable<_Alloc>::value +#endif + > {}; _LIBCPP_END_NAMESPACE_STD